Skip to content

License normalisation: docs → CC-BY-SA-4.0; remove residual PMPL#234

Merged
hyperpolymath merged 2 commits into
mainfrom
claude/awesome-davinci-8afqgy
Jun 24, 2026
Merged

License normalisation: docs → CC-BY-SA-4.0; remove residual PMPL#234
hyperpolymath merged 2 commits into
mainfrom
claude/awesome-davinci-8afqgy

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Owner-directed licensing normalisation (two steps you approved: "sweep 1, then do 2"). Surgical, per-file, no code or third-party text touched. Draft for your review.

1. Relicense documentation MPL-2.0 → CC-BY-SA-4.0 (64cd25d)

Code stays MPL-2.0; prose documentation becomes CC-BY-SA-4.0.

  • 598 docs relicensed via a per-file SPDX-header change (518 .adoc + 80 .md), including AI-agent files (CLAUDE.md, PROJECT.md, copilot-instructions) per your choice. Only the SPDX-License-Identifier header line changed.
  • Deleted stale GEMINI.md (Hypatia root_hygiene flag).
  • Excluded / unchanged: all source code (zig/idris/js/ex/…); the third-party Contributor-Covenant CODE_OF_CONDUCT.md (×2); the LICENSES/ texts; the pmpl-mcp cartridge.
  • Self-correction: the sweep initially also flipped SPDX strings inside code examples in 6 docs (zig/nickel snippets, the "every source file" convention, the OSI-approved cartridge requirement, the RSR project-license section). Those describe code and were restored to MPL-2.0 — only document headers are CC-BY-SA-4.0.

2. Remove residual PMPL artifacts (e2bfd68)

boj-server is MPL-2.0 / CC-BY-SA-4.0 — removed Palimpsest-MPL residue that still declared/enforced PMPL here.

  • Deleted: LICENSES/PMPL-1.0-or-later.txt, LICENSES/EXHIBIT-A-ETHICAL-USE.txt, LICENSES/EXHIBIT-B-QUANTUM-SAFE.txt, coord-tui/LICENSE-PMPL-1.0-or-later.txt.
  • Edited: NOTICE (dropped the "voluntarily adopts PMPL" paragraph), docs/index.html (PMPL header/badge/footer → MPL-2.0 + CC-BY-SA-4.0), .well-known/humans.txt + ai.txt (dropped PMPL drift).

⚠️ Residue found beyond the original flag — please eyeball these hunks

I found these still asserting PMPL and fixed them; revert any you disagree with:

  • Mustfile — invariants + the LICENSE grep-check no longer require "Palimpsest-MPL 1.0". Note this check (grep -q "Palimpsest-MPL 1.0" LICENSE) was already failing against the MPL-2.0 LICENSE; now it checks "Mozilla Public License".
  • Intentfile — AI-agent invariant now references MPL-2.0.
  • docs/RSR_OUTLINE.adoc — PMPL badges → MPL-2.0 badge; removed deleted-EXHIBIT entries from the file tree.
  • docs/outreach/show-hn-post.md — "PMPL-licensed (MPL-2.0 fallback)" → "MPL-2.0-licensed".

Kept (legitimate — subject matter, not a licence declaration)

pmpl-mcp cartridge, catalog.json, README catalogue entry, topical federation/provenance references, and the consent-aware-http "PMPL applies prospectively" note (correct per estate policy — it's one of the three PMPL carve-out repos).

One borderline item left untouched (your call)

.machine_readable/svc/self-validating/examples/setup-repo.k9.ncl has an example k9 step "Add PMPL-1.0 license" (fetches from the pmpl repo). It's a framework example fixture, not boj-server's own licence — I left it. Say the word if you want it changed.


Verified: zero PMPL SPDX headers remain; zero broken references to deleted files; LICENSES/ reduces cleanly to MPL-2.0.txt + CC-BY-SA-4.0.txt + README.adoc.

🤖 Generated with Claude Code


Generated by Claude Code

@github-actions

github-actions Bot commented Jun 24, 2026

Copy link
Copy Markdown

🏁 path-claims bench

Commit 346d557

Numbers
path-claims bench  (node v22.22.3)

  scenario                                              iters       ms        ns/op          ops/s
  --------------------------------------------------------------------------------------------------------------
  register: 10 active claims, 3 new paths               50000 iters    184 ms      3.70 µs/op    270.3k ops/s
  register: 100 active claims, 3 new paths              20000 iters    321 ms     16.07 µs/op     62.2k ops/s
  register: 1000 active claims, 3 new paths              5000 iters    949 ms    189.95 µs/op      5.3k ops/s
  register: 100 active claims, 20 new paths              5000 iters    363 ms     72.76 µs/op     13.7k ops/s

  pathsOverlap: deep diverge at segment 4             1000000 iters    158 ms     158.2 ns/op     6.32M ops/s
  pathsOverlap: short prefix match                    1000000 iters    140 ms     140.1 ns/op     7.14M ops/s

  refresh (existing claim)                             100000 iters     11 ms     117.0 ns/op     8.55M ops/s
  list (100 active claims)                              50000 iters    281 ms      5.63 µs/op    177.6k ops/s

  (Bench numbers depend on host; use deltas across commits, not absolute values.)

Host-dependent — compare deltas across commits, not absolute values.

@github-advanced-security github-advanced-security AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hypatia found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.

@github-actions

Copy link
Copy Markdown

🔍 Hypatia Security Scan

Findings: 214 issues detected

Severity Count
🔴 Critical 15
🟠 High 130
🟡 Medium 69

⚠️ Action Required: Critical security issues found!

View findings
[
  {
    "reason": "Issue in scorecard-enforcer.yml",
    "type": "missing_timeout_minutes",
    "file": "scorecard-enforcer.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in scorecard-enforcer.yml",
    "type": "scorecard_publish_with_run_step",
    "file": "scorecard-enforcer.yml",
    "action": "split_scorecard_publish_job",
    "rule_module": "workflow_audit",
    "severity": "high"
  },
  {
    "reason": "Issue in instant-sync.yml",
    "type": "secret_action_without_presence_gate",
    "file": "instant-sync.yml",
    "action": "peter-evans/repository-dispatch",
    "rule_module": "workflow_audit",
    "severity": "high"
  },
  {
    "reason": "Issue in codeql.yml",
    "type": "codeql_missing_actions_language",
    "file": "codeql.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/boj-server/boj-server/cartridges/academic-workflow-mcp/adapter/mod.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/boj-server/boj-server/cartridges/ephapax-mcp/adapter/mod.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/boj-server/boj-server/cartridges/bofig-mcp/adapter/mod.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/boj-server/boj-server/cartridges/fireflag-mcp/adapter/mod.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/boj-server/boj-server/cartridges/sanctify-mcp/adapter/mod.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/boj-server/boj-server/cartridges/hesiod-mcp/adapter/mod.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

claude added 2 commits June 24, 2026 10:17
Code stays MPL-2.0; prose documentation becomes CC-BY-SA-4.0.

- 598 estate-authored docs relicensed via a per-file SPDX-header change
  (518 .adoc + 80 .md, including AI-agent instruction files). Only the
  SPDX-License-Identifier header line is changed.
- Delete stale GEMINI.md (Hypatia root_hygiene flag).

Excluded / unchanged: all source code; the third-party Contributor-Covenant
CODE_OF_CONDUCT.md (x2); the LICENSES/ texts; the pmpl-mcp cartridge. Code-
describing SPDX *examples* inside docs (zig/nickel snippets, the "every
source file" convention, the OSI-approved cartridge requirement, the RSR
project-license section) were kept as MPL-2.0.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XrPAh7eBSUcVKauTVdXH9Y
boj-server is MPL-2.0 (code) / CC-BY-SA-4.0 (docs). Removes Palimpsest-MPL
residue that still declared or enforced PMPL on this repository.

Deleted: LICENSES/PMPL-1.0-or-later.txt, LICENSES/EXHIBIT-A-ETHICAL-USE.txt,
LICENSES/EXHIBIT-B-QUANTUM-SAFE.txt, coord-tui/LICENSE-PMPL-1.0-or-later.txt.

Edited (the last four were residue found beyond the original flag — surfaced
here for review):
- NOTICE: drop the "voluntarily adopts PMPL" paragraph; state the two-licence scheme.
- docs/index.html: PMPL-2.0-or-later SPDX header / badge / footer -> MPL-2.0 + CC-BY-SA-4.0.
- .well-known/humans.txt + ai.txt: drop "(Palimpsest MPL)" / "per PMPL Section 3".
- Mustfile: invariants + the LICENSE grep-check no longer require "Palimpsest-MPL 1.0"
  (that check was already failing against the MPL-2.0 LICENSE).
- Intentfile: AI-agent invariant now references MPL-2.0.
- docs/RSR_OUTLINE.adoc: PMPL badges -> MPL-2.0 badge; drop deleted EXHIBIT entries from the tree.
- docs/outreach/show-hn-post.md: "PMPL-licensed (MPL-2.0 fallback)" -> "MPL-2.0-licensed".

Kept (legitimate, not a licence declaration): the pmpl-mcp cartridge (a product
*about* the licence), catalog.json data, README catalogue entry, topical
federation/provenance references, and the consent-aware-http prospective-PMPL
note (correct per estate policy).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XrPAh7eBSUcVKauTVdXH9Y
@hyperpolymath hyperpolymath force-pushed the claude/awesome-davinci-8afqgy branch from e2bfd68 to 92b60ff Compare June 24, 2026 09:17
@hyperpolymath hyperpolymath marked this pull request as ready for review June 24, 2026 09:17
@hyperpolymath hyperpolymath enabled auto-merge (squash) June 24, 2026 09:17
@hyperpolymath hyperpolymath disabled auto-merge June 24, 2026 09:17
@hyperpolymath hyperpolymath merged commit c4d8ce5 into main Jun 24, 2026
27 of 29 checks passed
@hyperpolymath hyperpolymath deleted the claude/awesome-davinci-8afqgy branch June 24, 2026 09:17
@github-actions

Copy link
Copy Markdown

🔍 Hypatia Security Scan

Findings: 214 issues detected

Severity Count
🔴 Critical 15
🟠 High 130
🟡 Medium 69

⚠️ Action Required: Critical security issues found!

View findings
[
  {
    "reason": "Issue in scorecard-enforcer.yml",
    "type": "missing_timeout_minutes",
    "file": "scorecard-enforcer.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in scorecard-enforcer.yml",
    "type": "scorecard_publish_with_run_step",
    "file": "scorecard-enforcer.yml",
    "action": "split_scorecard_publish_job",
    "rule_module": "workflow_audit",
    "severity": "high"
  },
  {
    "reason": "Issue in instant-sync.yml",
    "type": "secret_action_without_presence_gate",
    "file": "instant-sync.yml",
    "action": "peter-evans/repository-dispatch",
    "rule_module": "workflow_audit",
    "severity": "high"
  },
  {
    "reason": "Issue in codeql.yml",
    "type": "codeql_missing_actions_language",
    "file": "codeql.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/boj-server/boj-server/cartridges/academic-workflow-mcp/adapter/mod.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/boj-server/boj-server/cartridges/ephapax-mcp/adapter/mod.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/boj-server/boj-server/cartridges/bofig-mcp/adapter/mod.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/boj-server/boj-server/cartridges/fireflag-mcp/adapter/mod.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/boj-server/boj-server/cartridges/sanctify-mcp/adapter/mod.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/boj-server/boj-server/cartridges/hesiod-mcp/adapter/mod.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

hyperpolymath added a commit that referenced this pull request Jun 24, 2026
Follow-up to #234, per your refined scope ("revert agent-meta + scrub
philosophical mentions"). Docs-only, surgical. Draft for review.

## 1. Agent-instruction files back to MPL-2.0
#234 relicensed these to CC-BY-SA-4.0; you've since decided
agent-instruction files should **not** count as relicensable docs.
Reverted (SPDX header only):
- `.claude/CLAUDE.md`, `.claude/PROJECT.md`,
`.github/copilot-instructions.md`

## 2. Scrub residual PMPL-as-licence-philosophy
- **`docs/FEDERATION.adoc`** — removed the sentence *"The PMPL license
encodes this same principle legally…"*; reworded the provenance bullet
(`PMPL provenance` → `Cryptographic provenance`).
- **`docs/architecture/README.adoc`** — reworded the provenance bullet
to drop the *"the license's … requirements ARE the attestation"*
framing.
- **`docs/status/ROADMAP.adoc`** & **`docs/outreach/show-hn-draft.md`**
— clarified these reference the **`pmpl-mcp` cartridge** (a real product
feature), not boj-server adopting PMPL.

## Kept on purpose (not residue)
- The `consent-aware-http` *"PMPL applies prospectively"* note in
`docs/planning/…` — **correct estate policy** (it's one of the three
genuine PMPL repos).
- The `pmpl-mcp` cartridge, `catalog.json`, README catalogue entry, and
machine-readable provenance format/protocol fields (subject matter about
the product).

## Left untouched (flagging for your call)
- A conceptual PMPL comment in **`src/abi/Boj/Federation.idr`** — that's
**code**, out of scope for this docs pass. Say the word for a separate
code-comment sweep.
- The k9 example fixture `setup-repo.k9.ncl` ("Add PMPL-1.0 license"
sample step) — a framework example, not a boj-server declaration.

No code files and no `flake.lock` touched (verified); 7 doc/meta files
changed.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---
_Generated by [Claude
Code](https://claude.ai/code/session_01XrPAh7eBSUcVKauTVdXH9Y)_

Co-authored-by: Claude <noreply@anthropic.com>
hyperpolymath added a commit that referenced this pull request Jun 24, 2026
…reen) (#237)

Fixes the pre-existing Idris2 failure surfaced on #234/#236 (not caused
by either — they just triggered the path-gated Idris2 job by touching a
`.idr`).

## Root cause
`allTake` was defined **twice** in `src/abi/Boj/SafetyLemmas.idr`:
- lines ~122–130 — `{p} -> {n} -> {xs} -> allRec p xs = True -> allRec p
(take n xs) = True`
- lines ~213–221 — same lemma, implicit args in a different order (`{p}
-> {xs} -> {n}`)

→ `Error: Boj.SafetyLemmas.allTake is already defined` → the **core ABI
package `boj.ipkg` failed** type-check (`PASS=104 FAIL=1`). It was
masked normally because the Idris2 job is path-gated and skips unless a
`.idr` changes.

## Fix
Kept the **first** definition — a complete, **total** proof (no
`postulate`, no `believe_me`) — and removed the redundant second copy.
No proof is weakened or stubbed.

Both callers use inferred implicits, so the removed copy's argument
order didn't matter to them:
- `Boj/SafePromptInjection.idr:168` — `MkDelimiterCharsafe (take n cs)
{prf = allTake prf}`
- `Boj/SafeHTTP.idr:139` — `MkHeaderCharsafe (take n cs) {prf = allTake
prf}`

## Verification
Expected: `scripts/typecheck-proofs.sh` → **PASS=105 FAIL=0**. Idris2
isn't available in the authoring environment, so the **Idris2 type-check
CI job is the proof verification** here — it should go from failing to
green on this PR (and this is the first PR that *should* pass it cleanly
when the job runs).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---
_Generated by [Claude
Code](https://claude.ai/code/session_01XrPAh7eBSUcVKauTVdXH9Y)_

Co-authored-by: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants